home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / program / 355 / m2_desc.doc < prev    next >
Text File  |  1992-03-11  |  5KB  |  167 lines

  1. Modula-2/68
  2. _____________
  3.  
  4. Modula-2/68 is a language system producing machine code for the Motorola
  5. MC68000 family of microprocessors.  The product consists of a Modula-2
  6. compiler, linker, library modules, and documentation.  This product was built
  7. in 1985 from Smiler2 a Modula-2 compiler and linker developed at the Institut
  8. fur Informatik of the Eidgenossische Technische Hochschule in Zurich,
  9. Switzerland.
  10.  
  11.  
  12. This modern programming language is designed for building complex software
  13. systems.  It combines low-level access to machine resources with features to
  14. support modern design concepts for the specification of global information and
  15. program modularity.
  16.  
  17. Language Features Include:
  18.  
  19. o Pascal Like Well Structured Programs.
  20.  
  21. o Abstract Data Types.
  22.  
  23. o Definition and Implementation Modules.
  24.  
  25. o Separate Compilation of Modules.
  26.  
  27. o Optional Run-Time Checks.
  28.  
  29. o Module Libraries can be shared.
  30.  
  31. o Access to Low-Level Hardware Dependent Facilities.
  32.  
  33. o IMPORT and EXPORT statements for specifying global procedures, variables,
  34.   and types.
  35.  
  36. o INTEGER, LONGINTEGER, CARDINAL, LONGCARDINAL, REAL, LONGREAL, BOOLEAN, CHAR,
  37.   BYTE, and BITSET data types.
  38.  
  39. o ENUMERATION, SUBRANGE, ARRAY, SET, RECORD, and PROCEDURE types for building
  40.   abstract data structures.
  41.  
  42. o Arithmetic and Logical operators.
  43.  
  44. o WHILE, FOR, REPEAT, and LOOP statements for iterative execution of
  45.   statements.
  46.  
  47. o IF, ELSEIF, and CASE statements for conditional execution of statements.
  48.  
  49. o Fast compilation.
  50.  
  51. o Compact, high-performance object code.
  52.  
  53. o Compile-time consistency checking of date and time version skews.
  54.  
  55. o Programs can call external routines written in other high level languages
  56.   in addition to assembly language routines.
  57.  
  58. o Optional run-time checking for array bounds, subrange assignment, variant
  59.   record tags, case selectors, and function without return.
  60.  
  61. o Uses the IEEE floating point format and operations for REAL data types.
  62.  
  63. o Unix style user defined directory search lists for locating symbol and
  64.   object libraries.
  65.  
  66. o Program access to Unix shell command line argument information via the ARGC
  67.   and ARGV global values.
  68.  
  69. o Reformats a Modula-2 program according to a standard set of pretty-printing
  70.   rules.
  71.  
  72. o Makes a cross reference list and program listing with numbered lines.
  73.  
  74. o Data Storage Types & Sizes:
  75.  
  76.   ADDRESS 4 bytes
  77.   BITSET 4 bytes
  78.   BOOLEAN 1 byte
  79.   BYTE 1 byte
  80.   CARDINAL 4 bytes
  81.   CHAR 1 byte
  82.   INTEGER 4 bytes
  83.   LONGCARDINAL 4 bytes
  84.   LONGINTEGER 4 bytes
  85.   LONGREAL 4 bytes
  86.   POINTER 4 bytes
  87.   PROCEDURE 4 bytes
  88.   REAL 4 bytes
  89.   SCALAR1,2 or 4 bytes
  90.   SET 1,2 or 4 bytes
  91.   SHORTWORD 2 bytes
  92.   SUBRANGE 4 bytes
  93.   WORD 4 bytes
  94.  
  95.  
  96. Two versions of the procedure libraries are available.  One for host system
  97. execution, the other for cross development using a different version of the
  98. SYSTEMX run time support Module.
  99.  
  100.   Binary
  101.   BufferIO
  102.   BytesOp
  103.   Convert
  104.   ConvertReal
  105.   Directory
  106.   ErrorMesg
  107.   FilePositions
  108.   Files
  109.   InOut
  110.   MathLib
  111.   MathLib0
  112.   MathLib1
  113.   NumberIO
  114.   Program
  115.   RealIO
  116.   SimpleIO
  117.   StandardIO
  118.   STORAGE
  119.   Storage
  120.   Streams
  121.   String
  122.   SYSTEM
  123.   SYSTEMX
  124.   Terminal
  125.   Text
  126.  
  127. _________________
  128.  
  129. Modula-2/68 is more than a standard compiler for use on Unix systems and
  130. workstations.  It is also a cross-development tool producing code for use on
  131. target MC68000 family machines using other operating systems, or no operating
  132. system at all.  Cross development is done using compiler and linker options,
  133. and a version of the Modula-2 libraries specially prepared for use on special
  134. target systems.
  135.  
  136. o Compiler option to produce code that does not depend on a host operating
  137.   system.
  138.  
  139. o Linker option for standard Motorola S-record output.
  140.  
  141. o Linker option for specifying the absolute location of data and code.
  142.  
  143. o Linker option for specifying base addresses by module name for code and
  144.   data.
  145.  
  146. o Symbol table information for linking to existing ROMS and symbolic
  147.   debugging.
  148.  
  149. o Support in Module SYSTEM for:
  150.   ASH, BIT, CODE, REGISTER, SETREG, NEWPROCESS, TRANSFER, IOTRANSFER, and
  151.   SYSCALL.
  152.  
  153. The ASH, BIT, CODE, REGISTER, and SETREG procedures allow for the insertion of
  154. machine code sequences that have full access to stack and frame variables.
  155.  
  156. _________________
  157.  
  158. The documentation contains thorough descriptions of compiler, linker, and
  159. cross development options, with over 250 pages of detailed descriptions of
  160. library procedures with many examples.
  161.  
  162. _____________________________
  163.  
  164. MC68020 is a trademark of Motorola. Modula-2/68 is a trademark of
  165. ana-systems.
  166.  
  167.